//泛型:在定义函数 接口 类 不能预先确定使用数据的类型 在使用的时候才会确定
(()=>{
    /* function getArr(value:number,count:number):number[] {
        const arr:number[] =[]
        for(let i = 0; i <count; i++) {
            arr.push(value)
        }
        return arr
    }
    const arr1 = getArr(100.123,3)
    console.log(arr1); */
    // const arr2 = getArr('abc',3)

    /* function getArr(value:any,count:number):any[] {
        const arr:any[] =[]
        for(let i = 0; i <count; i++) {
            arr.push(value)
        }
        return arr
    }
    const arr1 = getArr(100.123,3)
    const arr2 = getArr('abc',3)
    console.log(arr1);
    console.log(arr2);
    console.log(arr1[0].toFixed(2));
    console.log(arr2[0].split('')); */
    

    function getArr<T>(value:T,count:number):T[] {
        // const arr:T[] =[]
        const arr:Array<T> = []
        for(let i = 0; i <count; i++) {
            arr.push(value)
        }
        return arr
    }
    const arr1 = getArr<number>(200.12,5)
    const arr2 = getArr<string>('abcd',5)
    console.log(arr1);
    console.log(arr2);
    console.log(arr1[0].toFixed(1));
    console.log(arr2[0].split(''));
    
    
    // const arr1 = getArr(100.123,3)
    // const arr2 = getArr('abc',3)
    // console.log(arr1);
    // console.log(arr2);
    // console.log(arr1[0].toFixed(2));
    // console.log(arr2[0].split(''));
    
})()